﻿#include "mainwindow.h"
#include "qmenubar.h"
#include "qtextcodec.h"
#include "qtoolbar.h"
#include "qpushbutton.h"
#include "QStatusBar"
#include "qlabel.h"
#include "qdockwidget.h"
#include "qtextedit.h"
#include "QTextEdit"
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    resize(600,400);
    //菜单栏创建, 菜单栏最多只能有一个
    QMenuBar *bar =menuBar();
    setMenuBar(bar);//将菜单栏放入到mainWindows中
    //创建菜单
    QTextCodec *codec=QTextCodec::codecForName("GBK");
    QMenu *fileName=bar->addMenu(codec->toUnicode("test"));
    QMenu *editName=bar->addMenu(codec->toUnicode("Edit"));

//    QMenu *toolName=bar->addMenu(codec->toUnicode("工具"));
//    QMenu *buildName=bar->addMenu(codec->toUnicode("build"));

    //创建菜单项目
    fileName->addAction(codec->toUnicode("新建"));
    //添加分隔符
    fileName->addSeparator();
    fileName->addAction(codec->toUnicode("打开"));
    fileName->addAction(codec->toUnicode("保存"));

    //工具栏有多个
    QToolBar * toolBar =new QToolBar(this);
    addToolBar(Qt::LeftToolBarArea,toolBar);

    //后期设置, 只允许左右停靠
    toolBar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);

    //工具栏中添加控件
    QPushButton *btn1=new QPushButton(codec->toUnicode("control1"),this);
    toolBar->addWidget(btn1);

    //状态栏, 最多只能有一个
    QStatusBar *staBar= statusBar();
    setStatusBar(staBar);
    QLabel *label= new QLabel(codec->toUnicode("提示信息"),this);
    staBar->addWidget(label);

    //铆接部件，浮动窗口
    QDockWidget *dockWidget = new QDockWidget(codec->toUnicode("测试"),this);
    addDockWidget(Qt::BottomDockWidgetArea,dockWidget);

    //设置中心部件
    QTextEdit *edit = new QTextEdit(codec->toUnicode("不知道什么名字"),this);
    setCentralWidget(edit);



}

MainWindow::~MainWindow()
{
}

